/**
 * @file s7String.h
 * @author your name (you@domain.com)
 * @brief S7字符串工具函数
 * @version 0.1
 * @date 2025-04-30
 *
 * @copyright Copyright (c) 2025
 *
 */
#ifndef S7STRING_H
#define S7STRING_H

#include "xmzTypeDefine.h"
// 初始化字符串
void S7String_Init(char* str, unsigned char maxLen);
// 字符串赋值
void S7String_Set(char* str, const char* src);

// 获取实际长度
uint8_t get_string_act_len(const char* str);

/// 获取最大长度
uint8_t get_string_max_len(const char* str);

// 判断两个字符串是否相等
Bool S7String_Equals(const char* s1, const char* s2);

// 根据C语言字符串创建一个临时的S7字符数组
const char* S7String_Create(const char* cstr);

// 拷贝操作
void S7String_Copy(char* dest, uint8_t destSize, const char* src);

int get_bit_value(const void* ptr, uint8_t byteLength, uint16_t bit_pos);

void set_bit_value(void* ptr, uint8_t byteLength, uint16_t bit_pos, int value);

#endif
